1. The Field of the Invention
The present invention relates to broadcast data. More specifically, the present invention relates to retrieving broadcast data from one or more broadcast data sources and delivering the broadcast data to an application through a common interface.
2. Background and Relevant Art
A television broadcast contains more than video and audio data, it also contains broadcast data. While the primary function of a television broadcast is to transmit video and audio data, additional information may be forwarded to a user, which may or may not be related to the video and audio data, in the form of broadcast data. Typically, broadcast data is embedded or inserted in the television broadcast and is used to convey a wide variety of information including closed captioning data, program guide data, event ratings, crossover Uniform Resource Locators, and more.
Two types of television broadcasts which are used to transmit and carry broadcast data are analog television broadcasts and digital television broadcasts. Because the broadcast data is embedded or added to the television broadcast, the broadcast data does not replace the video and audio data. Unfortunately, the evolution of broadcast data has not been uniform and as a result, broadcast data is typically hard to locate, hard to read, and frequently contains duplicate values. These difficulties in combination with the fact that digital television broadcasts are fundamentally different from analog television broadcasts has led to the development of many different delivery and encoding mechanisms for broadcast data.
In analog television broadcasts, for example, the vertical blanking interval (VBI) is primarily used to carry broadcast data. During the VBI, which occurs 60 times per second, the electron gun of the television set is repositioning itself and video data is not present during this time interval. For this reason, the VBI lends itself to carry broadcast data because the video data is absent during the VBI. Broadcast data can be transmitted over the VBI in a variety of different ways, many of which are standardized and known.
In comparison, a digital television broadcast does not have an analogous VBI. Digital television broadcasts do, however, increase the amount of broadcast data that can be transmitted along with the video and audio data. The nature of a digital television broadcasts also makes it easier to transmit broadcast data. These characteristics of digital television broadcasts have led to broader uses for broadcast data, many of which are proprietary. Digital television broadcasts, such as satellite television and digital cable television, typically carry an MPEG transport stream which carries multiplexed data. The broadcast data in digital television broadcasts is encoded or embedded in the transport stream and is difficult to both locate and extract. Part of this difficultly is related to the different methods for placing broadcast data in a television broadcast and another part of the difficulty is that many different systems are capable of delivering broadcast data in television broadcasts.
An application desiring to use or receive broadcast data faces several problems. The application needs to know the transmission mechanisms of the broadcast data as well as how to acquire the desired broadcast data from a particular transmission system. Also, the application must know how to demultiplex, aggregate and interpret the broadcast data after it has been received and the application should most likely be able to receive the broadcast data from either an analog or a digital television broadcast.
For instance, an application that desires to retrieve ratings information from an analog television broadcast first determines that the ratings information is being transmitted via an analog television broadcast. Next, the application needs to know where, in the VBI of the analog television broadcast, the ratings information is located. The application next retrieves the broadcast data from the appropriate portion of the VBI. The retrieved broadcast data is sorted to retrieve the ratings broadcast data and the other multiplexed broadcast data is discarded. Finally, the application interprets and uses the retrieved broadcast data ratings.
Another problem associated with broadcast data is the ability to receive television broadcasts over computers, set top boxes and other technologically advanced devices. Computers, especially those connected to the Internet and other networks, transfer and receive data according to some protocol. Because broadcast data is simply inserted or embedded into television broadcasts, the appropriate headers are not attached to the broadcast data, which complicates the process of retrieving and processing broadcast data. In other words, broadcast data does not always comply with a particular protocol.
In sum, applications that are capable of utilizing broadcast data must overcome the non-uniformity of the broadcast data, handle the various transmission mechanisms of the broadcast data, and demultiplex, aggregate and interpret the broadcast data that is collected from the television broadcast. It would be an advance in the art to allow applications to access broadcast data through a common interface irrespective of the transmission and delivery mechanisms. Also, it would be an advance in the art to provide applications with access to broadcast data that has been demultiplexed, aggregated, sorted and organized.